package xyz.xuminghai.javafx_learn.scene;

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.effect.Bloom;
import javafx.stage.Stage;

/**
 * 2023/1/9 15:43 星期一<br/>
 * 一个Group将承担其子级的集体边界，并且不能直接调整大小。
 * 应用于组的任何变换、效果或状态都将应用于该Group的所有子项。
 *
 * @author xuMingHai
 */
public class GroupApp extends Application {

    private static final Group GROUP = new Group();


    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void init() {
        Button b1 = new Button("b1");
        b1.setOnAction(event -> this.getHostServices().showDocument("https://github.com/"));
        Button b2 = new Button("b2");
        b2.setLayoutX(b1.getLayoutX() + 100);
        Button b3 = new Button("b3");
        b3.setLayoutX(b2.getLayoutX() + 100);
        GROUP.getChildren().addAll(b1, b2, b3);
        // 设置效果（组内的子节点）
        GROUP.setEffect(new Bloom(0.5));
    }

    @Override
    public void start(Stage primaryStage) {
        primaryStage.setTitle("GroupLayoutApp");
        primaryStage.setScene(new Scene(GROUP, 800, 600));
        primaryStage.show();
    }
}
